Transmit processing using receiver functions

ABSTRACT

Data is to be transmitted in a code division multiple access communication system. A channel response is provided as a channel response matrix H approximating a channel that the data will experience after transmission. The data is spread and the spread data is processed with the channel response matrix H. The spread and processed data is transmitted. The data is received and recovered from the transmitted spread and processed data.

CROSS REFERENCE TO RELATED APPLICATION(S)

This application claims priority from U.S. Provisional Application No. 60/396,490 filed Jul. 17, 2002, and U.S. Provisional Application No. 60/368,639 filed on Mar. 28, 2002, which is incorporated by reference as if fully set forth.

FIELD OF INVENTION

The present invention generally relates to wireless spread spectrum communication systems. In particular, the invention relates to data transmission and reception in such communication systems.

BACKGROUND

In code division multiple access (CDMA) communication systems, multiple communications may be simultaneously sent over a shared frequency spectrum. Each communication is distinguished by the code used to transmit the communication.

In some CDMA communication systems, to better utilize the shared spectrum, the spectrum is time divided into frames having a predetermined number of time slots, such as fifteen time slots. This type of system is referred to as a hybrid CDMA/time division multiple access (TDMA) communication system. One such system, which restricts uplink communications and downlink communications to particular time slots, is a time division duplex communication (TDD) system.

One approach to receive the multiple communications transmitted within the shared spectrum is joint detection. In joint detection, the data from the multiple communications is determined together. In the following description a capitalized symbol X represents a matrix, and the symbol {right arrow over (x)} represents a column vector. The joint detection is typically modeled per Equation 1: {right arrow over (r)}=A{right arrow over (d)}+{right arrow over (n)};  Equation 1 The received signal vector {right arrow over (r)} is a function of the system transmission matrix A, the transmittal data vector {right arrow over (d)}, and the noise vector {right arrow over (n)}. The system transmission matrix A contains the contributions of individual users as per Equation 2: A=[A ⁽¹⁾ , A ⁽²⁾ , . . . ,A ^((K))];  Equation 2 Where A^((k)) represents the contribution of user k to the system transmission matrix A. Each user system transmission matrix is a function of the channel impulse response and the spreading code of that user per Equation 3: A ^((k)) =H ^((k)) C ^((k));  Equation 3 Where H^((k)) is the channel response matrix and C^((k)) is the code matrix for user k.

A Minimum Mean Square Error (MMSE) estimate for the data vector {right arrow over ({circumflex over (d)} is obtained from Equation 4: {right arrow over ({circumflex over (d)}=(A ¹¹ R _(n) ⁻¹ A)⁻¹ A ^(H) R _(n) ⁻¹ {right arrow over (r)};  Equation 4 where R_(n) is the covariance matrix of the noise. When the noise is white, R_(n) is a diagonal matrix and the MMSE estimate for the data is per Equations 5A and 5B: {right arrow over ({circumflex over (d)}=(A ^(H) A+σ ² I)⁻¹ A ^(H) {right arrow over (r)};  Equation 5A which may alternatively be written as: {right arrow over ({circumflex over (d)}=A ^(H)(AA ^(H)+σ² I)⁻¹ {right arrow over (r)};  Equation 5B Equations 5A and 5B are interchangeable using matrix inversion lemma.

Similarly, a zero forcing (ZF) estimate is obtained from Equations 6A and 6B: {right arrow over ({circumflex over (d)}=(A ^(H) A)⁻¹ A ^(H) {right arrow over (r)};  Equation 6A which may also be written as: {right arrow over ({circumflex over (d)}=A ^(H)(AA ^(H))⁻¹ {right arrow over (r)};  Equation 6B Equations 6A and 6B are interchangeable using matrix inversion lemma.

In a CDMA system, when all codes go through the same propagation channel, as in the case of a typical downlink transmission or when one uplink user monopolizes a time slot (H^((k))=H) the transmitted vector of spread symbols {right arrow over (s)} are obtained from Equation 7:

$\begin{matrix} {{\overset{\rightarrow}{s} = {{C\;\overset{\rightarrow}{d}} = {\sum\limits_{k = 1}^{\kappa}{{\cdot C^{(k)}}{\overset{\rightarrow}{d}}^{(k)}}}}};} & {{Equation}\mspace{14mu} 7} \end{matrix}$ The received signal is modeled using Equation 8: {right arrow over (r)}=H{right arrow over (s)}+{right arrow over (n)};  Equation 8

The MMSE estimate for the spread symbols {right arrow over (s)} is obtained as shown in Equations 9A and 9B: {right arrow over (ŝ)}=(H ^(H) H+σ ² I)⁻¹ H ^(H) {right arrow over (r)};  Equation 9A or equivalently: {right arrow over (ŝ)}=H ^(H)(HH ^(H)+σ² I)⁻¹ {right arrow over (r)};  Equation 9B Equations 9A and 9B are interchangeable using matrix inversion lemma. The ZF estimate, (derived from Equation 6) for {right arrow over (ŝ)} is obtained by Equations 10A and 10B: {right arrow over (ŝ)}=(H ^(H) H)⁻¹ H ^(H) {right arrow over (r)};  Equation 10A or equivalently: {right arrow over (ŝ)}=H ^(H)(HH ^(H))⁻¹ {right arrow over (r)};  Equation 10B Equations 10A and 10B are interchangeable using matrix inversion lemma. The estimate of the spread symbols {right arrow over (ŝ)} can be followed by a code Matched Filter (MF) to recover the data symbols.

When multiple antennas are used at the receiver, the received vector may also be represented by Equation 1. The definition of the vectors and matrix involved are modified to represent the contributions from different antennas as per Equation 11:

$\begin{matrix} {{\begin{bmatrix} {\overset{\rightarrow}{r}}_{1} \\ \vdots \\ {\overset{\rightarrow}{r}}_{N} \end{bmatrix} = {{\begin{bmatrix} A_{1} \\ \vdots \\ A_{N} \end{bmatrix}\overset{\rightarrow}{d}} + \begin{bmatrix} \overset{\rightarrow}{n} \\ \vdots \\ {\overset{\rightarrow}{n}}_{N} \end{bmatrix}}};} & {{Equation}\mspace{14mu} 11} \end{matrix}$ Where {right arrow over (r)}_(i), A_(i), and {right arrow over (n)}_(i) are the terms associated with receive antenna element i. A_(i) is constructed for each antenna with a different channel response per Equation 3 and A has components associated with each of K users per Equation 12: A=[A⁽¹⁾, A⁽²⁾, . . . , A^((K))];  Equation 12

When multiple transmit antenna elements, such as M transmit elements, are used at the transmitter, the received vector {right arrow over (r)}_(i) is also per Equation 1. The appropriate definition of the vectors and matrix involved is represented in Equation 13:

$\begin{matrix} {{\overset{\rightarrow}{r} = {{\left\lbrack {A_{1}^{\prime\mspace{11mu}}\ldots\mspace{11mu} A_{M}^{\prime}} \right\rbrack\begin{bmatrix} {\overset{\rightarrow}{d}}_{1} \\ \vdots \\ {\overset{\rightarrow}{d}}_{M} \end{bmatrix}} + \overset{\rightarrow}{n}}};} & {{Equation}\mspace{14mu} 13} \end{matrix}$ where {right arrow over (r)} is the composite received signal, and A′_(m), m=1,2, . . . , M is the system transmission matrix for signal transmission from the m^(th) transmit element to the receiver, {right arrow over (d)}_(m), m=1,2 . . . M is the data vector transmitted from transmit antenna m.

The components of A due to an i^(th) antenna element is denoted as A_(i)′. Each A_(i)′ component has contributions from all K users per Equation 14: A′=[A′⁽¹⁾,A′⁽²⁾, . . . , A′^((K))];  Equation 14 The contribution of each user to each antenna element is a function of the channel impulse response and the spreading (derived from Equation 3) codes as shown in Equation 15: A′ ^((k)) =H′ ^((k)) C ^((k));  Equation 15

Multiple antennas at both the transmitter and the receiver are referred to as a Multiple Input Multiple Output (MIMO) system. The received signal for a MIMO system may be represented by Equation 11 rewritten as Equation 16.

$\begin{matrix} {{\begin{bmatrix} {\overset{\rightarrow}{r}}_{1} \\ \vdots \\ {\overset{\rightarrow}{r}}_{N} \end{bmatrix} = {{{\begin{bmatrix} A_{1} \\ \vdots \\ A_{N} \end{bmatrix}\;\left\lbrack {A_{1\;}^{\prime}\ldots\mspace{14mu} A_{M}^{\prime}} \right\rbrack}\begin{bmatrix} {\overset{\rightarrow}{d}}_{1} \\ \vdots \\ {\overset{\rightarrow}{d}}_{M} \end{bmatrix}} + \begin{bmatrix} \overset{\rightarrow}{n} \\ \vdots \\ {\overset{\rightarrow}{n}}_{N} \end{bmatrix}}};} & {{Equation}\mspace{14mu} 16} \end{matrix}$ Where N is the number of receive antennas; M is the number of transmit antennas; A_(n), n=1,2, . . . , N the transmission matrix for reception; and A′_(m), m=1,2, . . . , M is the transmission matrix for transmission. With appropriate definitions of vectors and matrices involved, Equation 16 is rewritten as Equation 17: {right arrow over (r)}=Λ{right arrow over (d)}+{right arrow over (n)};  Equation 17 where Λ is the composite system transmission matrix for both transmission and reception. The MMSE estimate for the data vector shown in Equation 5 is represented by Equations 18A and 18B: {right arrow over ({circumflex over (d)}=(Λ^(H)Λ+σ² I)⁻¹Λ^(H) {right arrow over (r)};  Equation 18A or equivalently: {right arrow over ({circumflex over (d)}=Λ ^(H)(ΛΛ^(H)+σ² I)⁻¹ {right arrow over (r)};  Equation 18B Equations 18A and 18B are interchangeable using matrix inversion lemma. The ZF estimate can be obtained from Equations 19A and 19B: {right arrow over ({circumflex over (d)}=(Λ^(H)Λ)⁻¹Λ^(H) {right arrow over (r)};  Equation 19A or equivalently: {right arrow over ({circumflex over (d)}=Λ^(H)(ΛΛ^(H))⁻¹ {right arrow over (r)};  Equation 19B Equations 19A and 19B are interchangeable using matrix inversion lemma.

A receiver implementing these approaches effectively performs a matrix inversion, which has a high complexity. To reduce the complexity, an approximate Cholesky decomposition or fast Fourier transforms are used. Although these approaches reduce the receiver complexity, it is desirable to have alternate approaches to simplify the transmitting and receiving of data.

SUMMARY

In the system of the present invention, a channel response is determined as a channel response matrix H approximating a wireless channel that the data will experience after transmission. The data to be transmitted is spread, and the spread data is processed with the channel response matrix H. The spread and processed data is then transmitted. The data is received and recovered from the transmitted spread and processed data.

BRIEF DESCRIPTION OF THE DRAWING(S)

FIG. 1 is a simplified diagram of a preferred transmitter and receiver using transmit processing using receiver functions.

FIG. 2 is a flow chart of transmission using receiver functions.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

The system of the present invention is described herein conjunction with a time division duplex (TDD) mode of a CDMA system, (such as the proposed TDD mode of the third generation partnership project (3GPP) wideband CDMA system). However, the invention can be applied to any spread spectrum communication system, such as frequency division duplex (FDD) system or a time division synchronous code division multiple access (TD-SCDMA) system.

FIG. 1 is a diagram of a preferred simplified transmitter 10 and receiver 12 for use in transmit processing using receiver functions. The transmitter 10 can be located at a base station, user equipment (UE) or both, and the receiver 12 can be located at a UE, base station or both. Data to be communicated from the transmitter 10 to the receiver 12 is input into a spreading and modulation device 14 and a pre-equalizer 15. The data can be for a single code transmission to a single receiver, for a multi-code transmission to a single receiver, single code transmissions to multiple receivers, multi-code transmissions to multiple receivers or a combination of single and multi-code transmissions to multiple receivers.

The data is spread using the appropriate code(s), pre-equalized to compensate for the anticipated channel responses of the wireless radio interface 18 and modulated, such as by using quadrature phase shift keying (QPSK), M-ary quadrature amplitude modulation (QAM) or other modulation schemes, and to upconvert to radio frequency. The radio frequency signal is radiated by an antenna or M element antenna array 16 ₁-16 _(M) through a wireless radio interface 18.

An antenna, or N element antenna array 20 ₁-20 _(N), at the receiver 12 receives the radiated signal with other signals and noise as a received vector {right arrow over (r)}. A data detector 22 processes the received vector to recover the data {right arrow over (d)}. The structure of the data detector 22 is preferably simplified over a typical joint detection receiver due to the pre-equalization at the transmitter 10, such as by being implemented by code matched filters.

The transmitter 10 effectively compensates for the channel distortion prior to transmission. As a result, the received vector {right arrow over (r)} is approximately the spread data vector {right arrow over (s)}.

The pre-equalization makes use of the channel and code information available at a receiver 12 to process the transmit vector appropriately so that when that signal is received at the receiver 12 it is already compensated for channel impairments. The channel information can be signaled from the receiver 12, may be derived from signals received at the transmitter 10 within the same frequency spectrum. To illustrate, for a base station of a TDD/CDMA communication system, the channel information may be gathered in an uplink time slot for a subsequent downlink transmission time slot.

When processing at the transmitter 10 is used, the received signal obtained from Equation 20A:

$\begin{matrix} {{\overset{\rightarrow}{r} = {{\left\lbrack {A_{1\mspace{11mu}}^{\prime}\ldots\mspace{14mu} A_{M}^{\prime}} \right\rbrack\begin{bmatrix} {\overset{\rightarrow}{d}}_{1} \\ \vdots \\ {\overset{\rightarrow}{d}}_{M} \end{bmatrix}} + \overset{\rightarrow}{n}}};} & {{Equation}\mspace{14mu} 20A} \end{matrix}$ In terms of the channel and code matrices, Equation 20A becomes Equation 20B:

$\begin{matrix} {{\overset{\rightarrow}{r} = {{{\left\lbrack {H_{1\;}^{\prime}\ldots\mspace{11mu} H_{M}^{\prime}} \right\rbrack\begin{bmatrix} C_{1} & \; & \; \\ \; & ⋰ & \; \\ \; & \; & C_{M} \end{bmatrix}}\begin{bmatrix} {\overset{\rightarrow}{d}}_{1} \\ \vdots \\ {\overset{\rightarrow}{d}}_{M} \end{bmatrix}} + \overset{\rightarrow}{n}}};} & {{Equation}\mspace{14mu} 20B} \end{matrix}$

The code matrix C₁ through C_(M) can differ based on the transmission scheme. One such system is space code transmit diversity (SCTD), where each antenna is assigned a different transmission code. In some transmit diversity schemes, the same code matrix is used for each antenna. One such scheme is transmit adaptive antenna (TxAA). Although transmit processing using receiver functions is described in conjunction with each antenna transmitting the same code matrix C, it is also applicable to systems where the code matrix varies by antenna using an analogous approach.

In some systems, the transmit data bits {right arrow over (d)}₁ through {right arrow over (d)}_(M) can differ based on the transmission scheme, in particular whether transmit diversity is used. Although an analogous approach can be applied to systems having differing data vectors per antenna, the following is described in conjunction with each antenna transmitting the same data vector {right arrow over (d)}. For systems where the same data and code matrix is transmitted from each antenna, the system is modeled per Equation 21:

$\begin{matrix} \begin{matrix} {\overset{\rightarrow}{r} = {{\left\lbrack {A_{1\mspace{11mu}}^{\prime}\ldots\mspace{20mu} A_{M}^{\prime}} \right\rbrack\begin{bmatrix} \overset{\rightarrow}{d} \\ \vdots \\ \overset{\rightarrow}{d} \end{bmatrix}} + \overset{\rightarrow}{n}}} \\ {{= {{{\left\lbrack {H_{1}^{\prime}\mspace{14mu}\ldots\mspace{14mu} H_{M}^{\prime}} \right\rbrack\begin{bmatrix} C & \; & \; \\ \; & ⋰ & \; \\ \; & \; & C \end{bmatrix}}\begin{bmatrix} \overset{\rightarrow}{d} \\ \vdots \\ \overset{\rightarrow}{d} \end{bmatrix}} + \overset{\rightarrow}{n}}};} \\ {= {{\left\lbrack {H_{1}^{\prime}\mspace{14mu}\ldots\mspace{14mu} H_{M}^{\prime}} \right\rbrack\left\lbrack \mspace{11mu}\begin{matrix} {C\;\overset{\rightarrow}{d}} \\ \vdots \\ {C\;\overset{\rightarrow}{d}} \end{matrix} \right\rbrack} + \overset{\rightarrow}{n}}} \end{matrix} & {{Equation}\mspace{14mu} 21} \end{matrix}$ The transmit vector is shown by Equation 22:

$\begin{matrix} {\left\lbrack \mspace{11mu}\begin{matrix} {C\;\overset{\rightarrow}{d}} \\ \vdots \\ {C\;\overset{\rightarrow}{d}} \end{matrix} \right\rbrack;} & {{Equation}\mspace{20mu} 22} \end{matrix}$

The pseudo-inverse of H from the right is H^(H)(HH^(H))⁻¹. The data signal after processing is transmitted with this pseudo-inverse. Accordingly, the transmitted signal {right arrow over (t)}′ is shown by Equation 23: {right arrow over (t)}′=H ^(H)(HH ^(H))⁻¹ C{right arrow over (d)};  Equation 23

The resulting received vector is shown in Equation 24:

$\begin{matrix} {\begin{matrix} {\overset{\rightarrow}{r} = {{{HH}^{H}\left( {HH}^{H} \right)}^{- 1}C\;\overset{\rightarrow}{d}}} \\ {= {C\;\overset{\rightarrow}{d}}} \end{matrix};} & {{Equation}\mspace{14mu} 24} \end{matrix}$

If the pre-equalization is ideal, a clean signal is received 12 at the receiver without any need for further processing. However, in practice due to noise and variations in the channel conditions, typically some degradation to the received signal occurs. However, the required processing to remove degradation is greatly decreased, further increasing the required complexity of the receiver 12.

One of the advantages of a MMSE or ZF type receiver is that MMSE or ZF circuits are commonly at the transmitter 10 site. To illustrate, a base station typically has an MMSE type receiver. Accordingly, a single MMSE circuit can be used for processing the received and transmitted data at the base station. As a result, the circuitry for a receiver 12 and a transmitter 10 implementing transmit processing using receiver functions can be consolidated into either the UE or the base station, with the other communicating unit having simplified circuitry.

For example, the base station may use the pre-equalization transmitter 10 and a MMSE receiver. The matrix or effective matrix inversion can be performed by the same circuit. As a result, the receiver circuitry at the UE can be simplified, such as a single or group of code matched filters. The simplified receiver circuitry also extends the battery life at the receiver 12.

The common used circuitry is not limited to MMSE or ZF receiver circuitry, but it is rather general in that any receiver 12 structure that is capable of performing matrix operations and calculating matrix inverse is suited to do processing at the transmitter 10. Another advantage of the pre-equalization is that the transmitted signal is focused on the receiver 12. For downlink signals in particular, the interference to other users is reduced.

Referring to FIG. 2, a method 30 in accordance with the present invention is shown. The method commences with obtaining wireless channel information, which is preferably in the form of a channel impulse response H (step 32). The data for transmission is then pre-equalized using the channel impulse response H (step 34). The pre-equalized data is transmitted across the wireless radio interface (step 36) and is received as a received vector (step 38) at the receiver. The data is then recovered from the received vector, such as by using code matched filters (step 40). 

1. A user equipment comprising: a spreading device configured to spread data with a code; a pre-equalizer configured to process the spread data with a provided channel response matrix H, approximate a channel that the data will experience after transmission, and equalize a signal received by the user equipment using a second channel response matrix H; and an antenna configured to transmit the processed spread data, whereby recovering data from the processed spread data is at reception of the processed spread data without equalizing to compensate for a channel response; and a code matched filter configured to recover the data from a received vector; and wherein the pre-equalizer is further configured to perform pre-equalizing and equalizing by multiplying the spread data by H^(H)(HH^(H)+o ⁻²I)⁻¹ ,where o ⁻² is a noise variance and I is an identity matrix.
 2. The user equipment of claim 1, wherein the provided channel response matrix is estimated from signals received by the user equipment in a same frequency spectrum as the processed spread data is transmitted.
 3. The user equipment of claim 1, wherein the provided channel response matrix is signaled to the user equipment.
 4. A base station comprising: a spreading device configured to spread data with a code; a pre-equalizer configured to process the spread data with a provided channel response matrix H, approximate a channel that the data will experience after transmission, and equalize a signal received by the base station using a second channel response matrix H; and an antenna configured to transmit the processed spread data, whereby recovering data from the processed spread data is at reception of the processed spread data without equalizing to compensate for a channel response and wherein recovering the data includes recovering the data as a received vector via a code matched filter; and wherein the pre-equalizer is further configured to perform pre-equalizing and equalizing by multiplying the spread data by H^(H)(HH^(H)+o⁻²I)⁻¹, where o⁻² is a noise variance and I is an identity matrix.
 5. The base station of claim 4, wherein the provided channel response matrix is estimated from signals received by the base station in a same frequency spectrum as the processed spread data is transmitted.
 6. The base station of claim 4, wherein the provided channel response matrix is signaled to the base station. 